package cn.ac.jaas.isc.vegetable.pbms.service;

import cn.ac.jaas.isc.vegetable.common.core.util.R;
import cn.ac.jaas.isc.vegetable.pbms.api.vo.GroupIdAndDeviceIdVO;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.IService;
import cn.ac.jaas.isc.vegetable.pbms.api.entity.ArcGroupModel;

/**
 * @author 张高昌
 * @date 2022-05-28 17:25:08
 */
public interface ArcGroupModelService extends IService<ArcGroupModel> {

    /**
     * 保存
     *
     * @param arcGroupModel
     * @return
     */
    R saveGroupModel(ArcGroupModel arcGroupModel);

    /**
     * 修改
     *
     * @param arcGroupModel
     * @return
     */
    R updateGroupModel(ArcGroupModel arcGroupModel);

    /**
     * 分页查询已绑定的装置
     *
     * @param page
     * @param houseId
     * @param groupId
     * @return
     */
    Page getGroupPage(Page page, Integer houseId, Integer groupId);

    /**
     * 通过id移除装置
     *
     * @param modelId
     * @return
     */
    boolean removeDeviceById(Integer modelId);

    /**
     * 将装置绑定到分组下面
     *
     * @param vo
     * @return
     */
    boolean bindingDevice(GroupIdAndDeviceIdVO vo);

}
